<!doctype html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>重写数组方法</title>
	</head>
	<body>
		
	</body>
	<script type="text/javascript">

	var a = [34];
	var b = a;
	function test(t){
		t = [4, 5, 6];
		t.push(5);
		console.log(t)
	}
	test(a);
	console.log(a);




		// 参数列表 arguments
		function t(){
			// 参数列表，可以获取调用此函数的时候所有的参数。
			console.log(arguments);
			console.log(arguments.length);
		}
		t(1, 2, 3, 4);
		t(66, 77);	





		// 从字符串中提取信息
		var str = "www.baidu.com?userName=IUTB&password=NUIOP&gender=man&age=35";
		var strArr = str.split("?")[1].split("&");
		for(var i = 0; i < strArr.length; i++){
			var aaaaa = strArr[i].split("=")
			if (aaaaa[0] == "password") {
				console.log(aaaaa[1]);
			}
		}

		// 数组方法
		// reverse() 让数组反转
		var a = [1, 2, 3, 5, 7, 8];
		function myReverse(arr){
			// 第一种方法，头尾交换
			// for(var i = 0; i < parseInt(arr.length / 2); i++){
			// 	var temp = arr[i];
			// 	arr[i] = arr[arr.length - 1 - i];
			// 	arr[arr.length - 1 - i] = temp;
			// }
			// 第二种方法 新数组
			// 函数的功能是修改自身，还是返回新数组。
			var newArr = [];
			for(var i = 0; i < arr.length; i++){
				newArr[i] = arr[arr.length - i - 1];
			}
			for(var i = 0; i < newArr.length; i++){
				arr[i] = newArr[i];
			}
		}
		myReverse(a);
		console.log(a);

		// push()
		function myPush(arr, num){
			arr[arr.length] = num;
		}
		myPush(a, 9);
		console.log(a);

		// pop()
		function myPop(arr){
			// 可以去掉数组最后一位。
			arr.length = arr.length - 1;
		}
		myPop(a);
		console.log(a);

		// unshift()
		function myUnshift(arr, num){
			// 第一种
			// myReverse(arr);
			// myPush(arr, num);
			// myReverse(arr);

			//第二种
			var newArr = [];
			for(var i = 0; i < arr.length + 1; i++){
				if (i == 0) {
					newArr[i] = num;
				} else {
					newArr[i] = arr[i - 1];
				}
			}
			for(var i = 0; i < newArr.length; i++){
				arr[i] = newArr[i];
			}

		}

		myUnshift(a, 88);
		console.log(a);

		// shift
		function myShift(){
			// 第一种
			// myReverse(arr);
			// myPop(arr);
			// myReverse(arr);			
			// 第二种
			var newArr = [];
			for(var i = 1; i < arr.length; i++){
				newArr[i - 1] = arr[i];
			}
			for(var i = 0; i < newArr.length; i++){
				arr[i] = newArr[i];
			}
		}



		// join("")
		console.log(a);
		function myJoin(arr, s){
			var str = arr[0];
			if (s == undefined) {
				s = ",";
			}
			for(var i = 1; i < arr.length; i++){
				str += String(s) + arr[i];
			}
			return str;
		}  
		console.log(myJoin(a));
		
		




	</script>
</html>